import com.sun.xml.internal.bind.v2.model.core.MaybeElement;
import sun.util.resources.ms.CalendarData_ms_MY;

import java.util.Arrays;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: Administrator
 * Date: 2024-09-27
 * Time: 23:56
 */
//public class Test {
//    public static void main(String[] args){
//        //自动装箱：将基本数据类型转换为包装类
//        int a = 10;
//        Integer b = a;
//        System.out.println(b);
//
//        Integer c = Integer.valueOf(a);
//        System.out.println(c);
//    }
//}



//public class Test {
//    public static void main(String[] args){
//        Integer a = new Integer(10);
//        int b = a;//自动拆箱
//        System.out.println(b);
//
//        int c = a.intValue();//显示拆箱
//        System.out.println(c);
//        //可以将数据指定拆箱为自己想要的数据类型
//        double d = a.doubleValue();
//        System.out.println(d);
//    }
//}


//public class Test {
//    public static void main(String[] args) {
//        Integer a = Integer.valueOf(100);
//        Integer b = 100;
//        System.out.println(a == b);
//
//        Integer c = 200;
//        Integer d = 200;
//        System.out.println(c == d);
//    }
//}







//class Array{
//    Object[] array = new Object[10];
//    public void set(int pos,Object val){
//        array[pos] = val;
//    }
//    public Object get(int pos){
//        return array[pos];
//    }
//}
//public class Test {
//    public static void main(String[] args) {
//        Array array = new Array();
//        array.set(0,"adnjfn");
//        array.set(1,12);
//        array.set(2,3.145);
//
//        String str= (String) array.get(0);
//        System.out.println(str);
//
//        Integer val1 = (Integer) array.get(1);
//        System.out.println(val1);
//
//        Double val2 = (Double) array.get(2);
//        System.out.println(val2);
//    }
//}





//class Array<T>{
//    Object[] array = new Object[10];
//
//    public void set(int pos,T val){
//        array[pos] = val;
//    }
//
//    public T get(int pos){
//        return (T)array[pos];
//    }
//
//    public Object[] getArray(){
//        return array;
//    }
//}
//public class Test {
//    public static void main(String[] args) {
//        Array<String> array = new Array<>();
//        array.set(0,"abdef");
//        System.out.println(array.get(0));
//
//        Array<Integer> array1 = new Array<>();
//        array1.set(0,1);
//        array1.set(1,16);
//        System.out.println(array1.get(0));
//        System.out.println(array1.get(1));
//
//        Array<Double> array2 = new Array<>();
//        array2.set(0,4.124);
//        array2.set(1,24.7567);
//        System.out.println(array2.get(0));
//        System.out.println(array2.get(1));
//
//        Object[] ret = array2.getArray();
//        System.out.println(Arrays.toString(ret));
//    }
//}




//class Alg<T extends Comparable<T>>{
//    Object[] myArray = new Object[10];
//    public T findMax(T[] myArray){
//        T max = myArray[0];
//        for (int j = 1; j < myArray.length; j++) {
//            if(myArray[j].compareTo(max) > 0){
//                max = myArray[j];
//            }
//        }
//        return max;
//    }
//}
//
//class A implements Comparable<A>{
//    @Override
//    public int compareTo(A o) {
//        return 0;
//    }
//}
//public class Test {
//    public static void main(String[] args) {
//        Integer[] ret = new Integer[]{17,22,567,43,35,78,2457,11};
//        Alg<Integer> alg = new Alg<>();
//        System.out.println(alg.findMax(ret));
//
//        Alg<A> alg1 = new Alg<>();
//    }
//}





class Alg{
    //泛型方法
    Object[] myArray = new Object[10];

    public static <T extends Comparable<T>> T findMax(T[] myArray){
        T max = myArray[0];
        for (int i = 1; i < myArray.length; i++) {
            if(myArray[i].compareTo(max) > 0){
                max = myArray[i];
            }
        }
        return max;
    }
}
public class Test {
    public static void main(String[] args) {
        Integer[] ret = {1,34,62,8,4,24,42};
        System.out.println(Alg.findMax(ret));
    }
}